package A002lock8;

/**
 *  多线程8锁
 *  1、标准访问，请问先打印邮件还是短信？
 *  2、邮件新增暂停4秒钟的方法，请问先打印邮件还是短信？
 *  3、新增普通的hello方法，请问先打印邮件还是hello
 *  4、有两部手机，请问先打印邮件还是短信？
 *  5、两个静态同步方法，同一部手机，请问先打印邮件还是短信？
 *  6、两个静态同步方法，2部手机，请问先打印邮件还是短信？
 *  7、1个静态同步方法,1个普通同步方法，1部手机，请问先打印邮件还是短信？
 *  8、1个静态同步方法,1个普通同步方法，2部手机，请问先打印邮件还是短信？
 */

// 标准访问，请问先打印邮件还是短信？
// -----sendEmail
// -----sendSMS

class Phone01 {
    public synchronized void sendEmail() throws Exception {
        System.out.println("-----sendEmail");
    }

    public synchronized void sendSMS() throws Exception {
        System.out.println("-----sendSMS");
    }
}

public class A002_线程八锁_1 {
    public static void main(String[] args) throws InterruptedException {

        Phone01 phone01 = new Phone01();

        new Thread(() -> {
            try {
                phone01.sendEmail();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }, "A").start();

        Thread.sleep(100);

        new Thread(() -> {
            try {
                phone01.sendSMS();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }, "B").start();
    }
}

